package com.tangzx.builder.context;

import java.util.HashMap;

import com.tangzx.builder.abc.string.AbcString;

public interface IAbcContext {
	/**
	 * 获取一个ABCString
	 * 如果没有则生产一个
	 * @param str
	 * @return
	 */
	AbcString getString(String str);
	HashMap<String, AbcString> getAllString();
	/**
	 * 合并
	 * @param target
	 */
	void merge(IAbcContext target);
	/**
	 * 复制副本
	 * @return
	 */
	IAbcContext cloneContext();
	/**
	 * 产生一个随机不重复的字符串
	 * @return
	 */
	String makeWord(String st);
	
	void registerClassName(AbcString packageAS, AbcString classAS);
	
	boolean hasSameClassNameButNotSamePackage(AbcString packageAS, AbcString classAS);
}
